Nowadays, there are many types of software application where the user of that application is able to save data or information in any format through that application. In a conventional scenario, software dealing with user data provides functionality for undoing or redoing the changes the user makes to the data, but the record of the said changes is lost once the software application exits or the machine goes offline. It is therefore desirable to have improvements in the management of redo and undo operations.